--- sun8i/kernel/irq/manage.c	2016-08-22 23:36:31.000000000 +0200
+++ sun8i-rt/kernel/irq/manage.c	2016-08-23 13:22:07.461081538 +0200
@@ -270,6 +270,9 @@ int irq_set_affinity_hint(unsigned int i
 		return -EINVAL;
 	desc->affinity_hint = m;
 	irq_put_desc_unlock(desc, flags);
+	/* set the initial affinity to prevent every interrupt being on CPU0 */
+	irq_set_affinity(irq, m);
+	
 	return 0;
 }
 EXPORT_SYMBOL_GPL(irq_set_affinity_hint);
